<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ThunarxPropertyPage: thunarx Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="thunarx Reference Manual">
<link rel="up" href="thunarx-abstraction-layer.html" title="Part IV. Abstraction Layer">
<link rel="prev" href="ThunarxMenuItem.html" title="ThunarxMenuItem">
<link rel="next" href="ThunarxProviderPlugin.html" title="ThunarxProviderPlugin">
<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
                  <a href="#ThunarxPropertyPage.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
                  <a href="#ThunarxPropertyPage.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
                  <a href="#ThunarxPropertyPage.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span><span id="nav_properties">  <span class="dim">|</span> 
                  <a href="#ThunarxPropertyPage.properties" class="shortcut">Properties</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="thunarx-abstraction-layer.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="ThunarxMenuItem.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="ThunarxProviderPlugin.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="ThunarxPropertyPage"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="ThunarxPropertyPage.top_of_page"></a>ThunarxPropertyPage</span></h2>
<p>ThunarxPropertyPage — The base class for pages added to the properties dialog</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="ThunarxPropertyPage.functions"></a><h2>Functions</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_proto_type">
<col class="functions_proto_name">
</colgroup>
<tbody>
<tr>
<td class="function_type">
<span class="returnvalue">GtkWidget</span> *
</td>
<td class="function_name">
<a class="link" href="ThunarxPropertyPage.html#thunarx-property-page-new" title="thunarx_property_page_new ()">thunarx_property_page_new</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">GtkWidget</span> *
</td>
<td class="function_name">
<a class="link" href="ThunarxPropertyPage.html#thunarx-property-page-new-with-label-widget" title="thunarx_property_page_new_with_label_widget ()">thunarx_property_page_new_with_label_widget</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <span class="returnvalue">gchar</span> *
</td>
<td class="function_name">
<a class="link" href="ThunarxPropertyPage.html#thunarx-property-page-get-label" title="thunarx_property_page_get_label ()">thunarx_property_page_get_label</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="ThunarxPropertyPage.html#thunarx-property-page-set-label" title="thunarx_property_page_set_label ()">thunarx_property_page_set_label</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">GtkWidget</span> *
</td>
<td class="function_name">
<a class="link" href="ThunarxPropertyPage.html#thunarx-property-page-get-label-widget" title="thunarx_property_page_get_label_widget ()">thunarx_property_page_get_label_widget</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="ThunarxPropertyPage.html#thunarx-property-page-set-label-widget" title="thunarx_property_page_set_label_widget ()">thunarx_property_page_set_label_widget</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="ThunarxPropertyPage.properties"></a><h2>Properties</h2>
<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
<col width="200px" class="properties_flags">
</colgroup>
<tbody>
<tr>
<td class="property_type">
<span class="type">char</span> *</td>
<td class="property_name"><a class="link" href="ThunarxPropertyPage.html#ThunarxPropertyPage--label" title="The “label” property">label</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type">
<span class="type">GtkWidget</span> *</td>
<td class="property_name"><a class="link" href="ThunarxPropertyPage.html#ThunarxPropertyPage--label-widget" title="The “label-widget” property">label-widget</a></td>
<td class="property_flags">Read / Write</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="ThunarxPropertyPage.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="other_proto_type">
<col class="other_proto_name">
</colgroup>
<tbody><tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="ThunarxPropertyPage.html#ThunarxPropertyPage-struct" title="struct ThunarxPropertyPage">ThunarxPropertyPage</a></td>
</tr></tbody>
</table></div>
</div>
<div class="refsect1">
<a name="ThunarxPropertyPage.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="screen">    GObject
    <span class="lineart">╰──</span> GInitiallyUnowned
        <span class="lineart">╰──</span> GtkWidget
            <span class="lineart">╰──</span> GtkContainer
                <span class="lineart">╰──</span> GtkBin
                    <span class="lineart">╰──</span> ThunarxPropertyPage
</pre>
</div>
<div class="refsect1">
<a name="ThunarxPropertyPage.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
<p>
ThunarxPropertyPage implements
 AtkImplementorIface and  GtkBuildable.</p>
</div>
<div class="refsect1">
<a name="ThunarxPropertyPage.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;thunarx/thunarx.h&gt;
</pre>
</div>
<div class="refsect1">
<a name="ThunarxPropertyPage.description"></a><h2>Description</h2>
<p>The class for pages that can be added to Thunar's file properties dialog
by extensions implementing the <a class="link" href="ThunarxPropertyPageProvider.html" title="ThunarxPropertyPageProvider"><span class="type">ThunarxPropertyPageProvider</span></a> interface. The
pages returned by extensions from <a class="link" href="ThunarxPropertyPageProvider.html#thunarx-property-page-provider-get-pages" title="thunarx_property_page_provider_get_pages ()"><code class="function">thunarx_property_page_provider_get_pages()</code></a>
method are instances of this class or a derived class. Note that extensions
do not need to subclass <a class="link" href="ThunarxPropertyPage.html" title="ThunarxPropertyPage"><span class="type">ThunarxPropertyPage</span></a>, but may also instantiate it
directly and add widgets to it, but I strongly suggest to create a subclass
as it usually leads to better modularization and thereby better maintainability
in the code.</p>
<p>To pick up the <span class="type">TagPage</span> example from the <a class="link" href="ThunarxPropertyPageProvider.html#thunarx-property-page-provider-get-pages" title="thunarx_property_page_provider_get_pages ()"><code class="function">thunarx_property_page_provider_get_pages()</code></a>
description again, you'd create a new class <span class="type">TagPage</span>, that inherits <a class="link" href="ThunarxPropertyPage.html" title="ThunarxPropertyPage"><span class="type">ThunarxPropertyPage</span></a>
(using the <a class="link" href="ThunarxProviderPlugin.html#THUNARX-DEFINE-TYPE:CAPS" title="THUNARX_DEFINE_TYPE()"><span class="type">THUNARX_DEFINE_TYPE</span></a> macro), which provides several user interface elements
in the property, and defines atleast one property named <code class="literal">"file"</code>, which
is the <a class="link" href="ThunarxFileInfo.html" title="ThunarxFileInfo"><span class="type">ThunarxFileInfo</span></a> whose tags are displayed in the property page. For example, the
<code class="filename">tag-page.h</code> header file would look like this (this is really just
an example of the suggested way to implement property pages, you may of course choose
a different way)</p>
</div>
<div class="refsect1">
<a name="ThunarxPropertyPage.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="thunarx-property-page-new"></a><h3>thunarx_property_page_new ()</h3>
<pre class="programlisting"><span class="returnvalue">GtkWidget</span> *
thunarx_property_page_new (<em class="parameter"><code>const <span class="type">gchar</span> *label</code></em>);</pre>
<p>Allocates a new <a class="link" href="ThunarxPropertyPage.html" title="ThunarxPropertyPage"><span class="type">ThunarxPropertyPage</span></a> widget and sets its label to the
specified <em class="parameter"><code>label</code></em>
. If <em class="parameter"><code>label</code></em>
 is <code class="literal">NULL</code>, the label is omitted.</p>
<div class="refsect3">
<a name="thunarx-property-page-new.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>label</p></td>
<td class="parameter_description"><p>the text to use as the label of the page.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="thunarx-property-page-new.returns"></a><h4>Returns</h4>
<p> the newly allocated <a class="link" href="ThunarxPropertyPage.html" title="ThunarxPropertyPage"><span class="type">ThunarxPropertyPage</span></a>
widget.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="thunarx-property-page-new-with-label-widget"></a><h3>thunarx_property_page_new_with_label_widget ()</h3>
<pre class="programlisting"><span class="returnvalue">GtkWidget</span> *
thunarx_property_page_new_with_label_widget
                               (<em class="parameter"><code><span class="type">GtkWidget</span> *label_widget</code></em>);</pre>
<p>Allocates a new <a class="link" href="ThunarxPropertyPage.html" title="ThunarxPropertyPage"><span class="type">ThunarxPropertyPage</span></a> widget and sets its label to
the specified <em class="parameter"><code>label_widget</code></em>
.</p>
<div class="refsect3">
<a name="thunarx-property-page-new-with-label-widget.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>label_widget</p></td>
<td class="parameter_description"><p>a <span class="type">GtkWidget</span>, which should be used as label.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="thunarx-property-page-new-with-label-widget.returns"></a><h4>Returns</h4>
<p> the newly allocated <a class="link" href="ThunarxPropertyPage.html" title="ThunarxPropertyPage"><span class="type">ThunarxPropertyPage</span></a> widget.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="thunarx-property-page-get-label"></a><h3>thunarx_property_page_get_label ()</h3>
<pre class="programlisting">const <span class="returnvalue">gchar</span> *
thunarx_property_page_get_label (<em class="parameter"><code><a class="link" href="ThunarxPropertyPage.html" title="ThunarxPropertyPage"><span class="type">ThunarxPropertyPage</span></a> *property_page</code></em>);</pre>
<p>If the <em class="parameter"><code>property_page</code></em>
's label widget is a <span class="type">GtkLabel</span>, returns the text
in the label widget (the <em class="parameter"><code>property_page</code></em>
 will have a <span class="type">GtkLabel</span> for the
label widget if a non-<code class="literal">NULL</code> argument was passed to <a class="link" href="ThunarxPropertyPage.html#thunarx-property-page-new" title="thunarx_property_page_new ()"><code class="function">thunarx_property_page_new()</code></a>).</p>
<div class="refsect3">
<a name="thunarx-property-page-get-label.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>property_page</p></td>
<td class="parameter_description"><p>a <a class="link" href="ThunarxPropertyPage.html" title="ThunarxPropertyPage"><span class="type">ThunarxPropertyPage</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="thunarx-property-page-get-label.returns"></a><h4>Returns</h4>
<p> the text in the label or <code class="literal">NULL</code> if there was no label widget or
the label widget was not a <span class="type">GtkLabel</span>. The returned string is
owned by the <em class="parameter"><code>property_page</code></em>
and must not be modified or freed.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="thunarx-property-page-set-label"></a><h3>thunarx_property_page_set_label ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
thunarx_property_page_set_label (<em class="parameter"><code><a class="link" href="ThunarxPropertyPage.html" title="ThunarxPropertyPage"><span class="type">ThunarxPropertyPage</span></a> *property_page</code></em>,
                                 <em class="parameter"><code>const <span class="type">gchar</span> *label</code></em>);</pre>
<p>Sets the text of the label. If <em class="parameter"><code>label</code></em>
 is <code class="literal">NULL</code>, the current label is
removed.</p>
<div class="refsect3">
<a name="thunarx-property-page-set-label.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>property_page</p></td>
<td class="parameter_description"><p>a <a class="link" href="ThunarxPropertyPage.html" title="ThunarxPropertyPage"><span class="type">ThunarxPropertyPage</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>label</p></td>
<td class="parameter_description"><p>the text to use as the label of the page.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="thunarx-property-page-get-label-widget"></a><h3>thunarx_property_page_get_label_widget ()</h3>
<pre class="programlisting"><span class="returnvalue">GtkWidget</span> *
thunarx_property_page_get_label_widget
                               (<em class="parameter"><code><a class="link" href="ThunarxPropertyPage.html" title="ThunarxPropertyPage"><span class="type">ThunarxPropertyPage</span></a> *property_page</code></em>);</pre>
<p>Returns the label widget for the <em class="parameter"><code>property_page</code></em>
. See
<a class="link" href="ThunarxPropertyPage.html#thunarx-property-page-set-label-widget" title="thunarx_property_page_set_label_widget ()"><code class="function">thunarx_property_page_set_label_widget()</code></a>.</p>
<div class="refsect3">
<a name="thunarx-property-page-get-label-widget.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>property_page</p></td>
<td class="parameter_description"><p>a <a class="link" href="ThunarxPropertyPage.html" title="ThunarxPropertyPage"><span class="type">ThunarxPropertyPage</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="thunarx-property-page-get-label-widget.returns"></a><h4>Returns</h4>
<p>the label widget or <code class="literal">NULL</code> if there is none. </p>
<p><span class="annotation">[<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="thunarx-property-page-set-label-widget"></a><h3>thunarx_property_page_set_label_widget ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
thunarx_property_page_set_label_widget
                               (<em class="parameter"><code><a class="link" href="ThunarxPropertyPage.html" title="ThunarxPropertyPage"><span class="type">ThunarxPropertyPage</span></a> *property_page</code></em>,
                                <em class="parameter"><code><span class="type">GtkWidget</span> *label_widget</code></em>);</pre>
<p>Sets the label widget for the <em class="parameter"><code>property_page</code></em>
. This is the widget
that will appear in the notebook header for the <em class="parameter"><code>property_page</code></em>
.</p>
<div class="refsect3">
<a name="thunarx-property-page-set-label-widget.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>property_page</p></td>
<td class="parameter_description"><p>a <a class="link" href="ThunarxPropertyPage.html" title="ThunarxPropertyPage"><span class="type">ThunarxPropertyPage</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>label_widget</p></td>
<td class="parameter_description"><p>the new label widget.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
<div class="refsect1">
<a name="ThunarxPropertyPage.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="ThunarxPropertyPage-struct"></a><h3>struct ThunarxPropertyPage</h3>
<pre class="programlisting">struct ThunarxPropertyPage;</pre>
</div>
</div>
<div class="refsect1">
<a name="ThunarxPropertyPage.property-details"></a><h2>Property Details</h2>
<div class="refsect2">
<a name="ThunarxPropertyPage--label"></a><h3>The <code class="literal">“label”</code> property</h3>
<pre class="programlisting">  “label”                    <span class="type">char</span> *</pre>
<p>Text of the page's label.</p>
<p>Owner: ThunarxPropertyPage</p>
<p>Flags: Read / Write</p>
<p>Default value: NULL</p>
</div>
<hr>
<div class="refsect2">
<a name="ThunarxPropertyPage--label-widget"></a><h3>The <code class="literal">“label-widget”</code> property</h3>
<pre class="programlisting">  “label-widget”             <span class="type">GtkWidget</span> *</pre>
<p>A widget to display in place of the usual page label.</p>
<p>Owner: ThunarxPropertyPage</p>
<p>Flags: Read / Write</p>
</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.33.1</div>
</body>
</html>